<
language, tool, library> A software development and execution
environment designed by
Microsoft as a direct competitor to
Java. .
NET framework should not be confused with
Microsoft's past labeling of a line of products as ".
NET".
.
NET simplifies interoperability between languages and
machines on
Microsoft Windows especially, although not
specifically, for web based services. Essentially the .
NET
framework consists of the CLR (common language runtime), CTS
(common type system), CLS (common language system), and IL
(intermediate language).
The CLR consists of a number of resources provided to .
NET
applications such as the security model, type system and .
NET
classes (c.f. Java classes). The CTS is the range of all
types that .
NET understands although it is not necessarily the
case that a .
NET program will understand all of these types.
The CLS however is a subset of the CTS which all .
NET
languages must support: any two .
NET languages can
interoperate via. the CLS.
All .
NET languages are at some stage compiled into the IL, a
byte-code like language. However unlike a standard Java run
time environment, the IL is converted to
machine code either
upon installation of the software or at
run time by a {just
in time compiler} (JIT). The IL is not interpretted.
.NET's main weakness is that Microsoft have ignored the
Unix
and
mainframe environments, effectively ruling .
NET out of
use in many
enterprise environments. However there is
Mono - an
open source .
NET framework for Unix}.
.
NET was based on research by Steven Lucco on a product called
OmniVM, sold by
Colusa software. Attracted to OmniVM
since VB and C/C++ environments were already available,
Microsoft bought Colusa in 1996. Microsoft provides .
NET
compilers for
C#,
C++,
VB, and
Jscript.
(2003-09-24)